Only register application/x-rootwindow-drop on X11
authorРуслан Ижбулатов <lrn1986@gmail.com>
Tue, 15 Aug 2017 13:07:01 +0000 (13:07 +0000)
committerРуслан Ижбулатов <lrn1986@gmail.com>
Sat, 25 Nov 2017 15:44:37 +0000 (15:44 +0000)
application/x-rootwindow-drop is not useful anywhere else,
so put it under #ifdef GDK_WINDOWING_X11

On W32 this prevents toplevels from automatically becoming valid
drop targets with a useless drop type.

https://bugzilla.gnome.org/show_bug.cgi?id=786509

gtk/gtkwindow.c

index 4143c3a407d2aef4b22e3cc49ce8e31c2970a398..26cac439ad3dac6ce43144e8737561c6eeae9988 100644 (file)
@@ -275,9 +275,11 @@ struct _GtkWindowPrivate
   GtkCssNode *decoration_node;
 };
 
+#ifdef GDK_WINDOWING_X11
 static const GtkTargetEntry dnd_dest_targets [] = {
   { "application/x-rootwindow-drop", 0, 0 },
 };
+#endif
 
 enum {
   SET_FOCUS,
@@ -1719,10 +1721,12 @@ gtk_window_init (GtkWindow *window)
 
   priv->scale = gtk_widget_get_scale_factor (widget);
 
+#ifdef GDK_WINDOWING_X11
   gtk_drag_dest_set (GTK_WIDGET (window),
                      GTK_DEST_DEFAULT_MOTION | GTK_DEST_DEFAULT_DROP,
                      dnd_dest_targets, G_N_ELEMENTS (dnd_dest_targets),
                      GDK_ACTION_MOVE);
+#endif
 }
 
 static void